﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cludg.Repository.Security
{
    using Domain.Users;

    public interface ISecurityRepository
    {
        #region get user
        IEnumerable<User> AllUsers { get; }
        User GetUserById(string userId); 
        #endregion

        #region security info
        UserSecurityInfo GetUserSecurityInfo(string id);
        UserSecurityInfo GetUserSecurityInfoByName(string userName);
        UserSecurityInfo GetUserSecurityInfoByEmail(string email);
        UserSecurityInfo GetUserSecurityInfoByThirPartyIdent(string ident);         
        #endregion

        #region user managment
        string AddUser(User user);
        void ChangeUserSecurityInfo(string userId, UserSecurityInfo info);
        void SaveUser(string userId, User user);
        #endregion
    }
}
